// pages/collect/collect.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    percent: "",   // 百分比
    like: "",      // 点赞数
    imgUrl: "",     // 图片
    orderNo: "",    // 订单号
    friendList: [], // 点赞列表
    myUid: "",      // 我的Id
    collectId: "",  // 当前助力的订单的Id
    userUid: "",    // 当前用户id
    shareBtnText: "",
    maskShow: false
  },

  // 获取点赞好友列表
  getFriendList() {
    wx.showLoading({
      title: '加载中',
    })
    wx.request({
      url: app.globalData.baseUrl + '/spLike/spLikeWeb',
      header: {
        unicorn: app.globalData.token
      },
      data: {
        orderNo: this.data.orderNo
      },
      success: res => {
        if(res.data){
          for (var i = 0; i < res.data.humanList.length; i ++){
            res.data.humanList[i].create_time = this.getTimeLong(new Date(res.data.humanList[i].create_time).getTime());
          }
          this.setData({
            friendList: res.data.humanList,
            imgUrl: res.data.myLike.img,
            myUid: res.data.myLike.myUid,
            like: res.data.myLike.like,
            collectId: res.data.myLike.id,
            percent: Number(Number(res.data.myLike.like) / 200)*100
          });
          this.getUserUid();
          
        }
      },
      fail: res => {
        console.log(res);
      }
    })
  },

  // 为他点赞
  collectBind(){
    wx.showLoading({
      title: '点赞中',
    })
    wx.request({
      url: app.globalData.baseUrl + '/spLike/spLikeHuman',
      header:{
        unicorn: app.globalData.token
      },
      data: {
        orderNo: this.data.orderNo
      },
      success: res =>{
        console.log(res);
        if(res.data){
          if (res.data.errCode == "00000") {
            this.setData({
              maskShow: true
            })
          } else if (res.data.errCode == "10005") {
            app.showError("请不要重复点赞");
          } else if (res.data.errCode == "10008") {
            app.showError("当前订单号不存在")
          } else if (res.data.errCode == "10003") {
            app.showError("不能为自己点赞");
          } else {
            app.showError("参数错误");
          }
          wx.hideLoading();
        }
      },
      fail: res =>{
        console.log(res);
        app.showError("服务器错误");
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (e) {
    if (e.orderNo){
      this.setData({
        orderNo: e.orderNo
      })
    }
    this.getFriendList();
  },

  // 隐藏弹框
  maskHide(){
    this.setData({
      maskShow: false
    })
  },

  // 我也要上屏
  goHelp(){
    wx.navigateTo({
      url: '../help/help',
    });
    this.setData({
      maskShow: false
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (res) {
    if(res.form === "button"){
      return {
        title: `快来给我点赞`,
        imageUrl: this.data.imgUrl,
        path: '/pages/collect/collect?orderNo=' + this.data.orderNo
      }
    }
  },

  

  // 获取当前用户Uid
  getUserUid(){
    wx.request({
      url: app.globalData.baseUrl + '/data/getUserByToken',
      header: {
        unicorn: app.globalData.token
      },
      success: res =>{
        if(res.data){
          this.setData({
            userUid: res.data.uid
          });
          if (this.data.myUid == res.data.uid){
            this.setData({
              shareBtnText: "邀请好友点赞"
            })
          }else{
            this.setData({
              shareBtnText: "为他点赞"
            })
          }
          wx.hideLoading();
        }
      },
      fail: res =>{
        console.log(res);
      }
    })
  },


  // 获取多久前时间
  getTimeLong(dateTimeStamp) {
    //dateTimeStamp是一个时间毫秒，注意时间戳是秒的形式，在这个毫秒的基础上除以1000，就是十位数的时间戳。13位数的都是时间毫秒。
    let minute = 1000 * 60      //把分，时，天，周，半个月，一个月用毫秒表示
    let hour = minute * 60
    let day = hour * 24
    let week = day * 7
    let halfamonth = day * 15
    let month = day * 30
    let now = new Date().getTime()   //获取当前时间毫秒
    let diffValue = now - dateTimeStamp //时间差
    if (diffValue < 0) { return '' }
    let minC = diffValue / minute 
    let hourC = diffValue / hour
    let dayC = diffValue / day
    let weekC = diffValue / week
    let monthC = diffValue / month
    let result = ""
    if (monthC >= 1) {
      result = " " + parseInt(monthC) + "月前"
    } else if (weekC >= 1) {
      result = " " + parseInt(weekC) + "周前"
    } else if (dayC >= 1) {
      result = " " + parseInt(dayC) + "天前"
    } else if (hourC >= 1) {
      result = " " + parseInt(hourC) + "小时前"
    } else if (minC >= 1) {
      result = " " + parseInt(minC) + "分钟前"
    } else {
      result = "刚刚"
    }
    return result
  },

  
})